package kasus1pendaftaranyudisium;


import DataBase.OraConnection;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

public class PengendaliPendaftaranYudisium {

    public static ArrayList<Mahasiswa> DAFTAR_MAHASISWA = new ArrayList<Mahasiswa>();

    public static void tambahMahasiswa(Mahasiswa mhs) {
        DAFTAR_MAHASISWA.add(mhs);
    }

//    public static String bacaDaftarMahasiswa() {
//        if (DAFTAR_MAHASISWA.isEmpty() == false) {
//            String dat = new String();
//            for (int i = 0; i < DAFTAR_MAHASISWA.size(); i++) {
//                dat += "\nNama           : " + DAFTAR_MAHASISWA.get(i).getNama() + "\n";
//                dat += "NIM            : " + DAFTAR_MAHASISWA.get(i).getNim() + "\n";
//                dat += "NoHp     : " + DAFTAR_MAHASISWA.get(i).getNoHp() + "\n";
//                dat += "Prodi          : " + DAFTAR_MAHASISWA.get(i).getProdi() + "\n";
//                dat += "Bulan Yudisium     : " + DAFTAR_MAHASISWA.get(i).getBulan() + "\n";
//                dat += "Hari Yudisium          : " + DAFTAR_MAHASISWA.get(i).getHari() + "\n";
//                dat += "Tanggal Yudisium     : " + DAFTAR_MAHASISWA.get(i).getTanggal() + "\n";
//                dat += "Daftar nilai        : " + DAFTAR_MAHASISWA.get(i).getDaftar_nilai() + "\n";
//                dat += "Naskah TA        : " + DAFTAR_MAHASISWA.get(i).getNaskah_ta() + "\n";
//                dat += "Bebas pinjamLab        : " + DAFTAR_MAHASISWA.get(i).getBebaspinjam_lab() + "\n";
//                dat += "Bebas pinjamDos      : " + DAFTAR_MAHASISWA.get(i).getBebaspinjam_dosen() +"\n";
//                dat += "Bukti Kp      : " + DAFTAR_MAHASISWA.get(i).getBukti_kp()+ "\n";
//                dat += "TOELF       : " + DAFTAR_MAHASISWA.get(i).getToelf_tkbi()+ "\n";
//                dat += "Ket KKL        : " + DAFTAR_MAHASISWA.get(i).getKet_kkl() + "\n";
//                dat += "File keterangan       : " + DAFTAR_MAHASISWA.get(i).getFile_ket() + "\n";
//                       }
//            return dat;
//        }
//
//        return "data kosong";
//    }
    public static void lihatTabelMahasiswa() {
        PengendaliPendaftaranYudisium.DAFTAR_MAHASISWA = new ArrayList<Mahasiswa>();
          Connection conn = OraConnection.open("jdbc:oracle:thin:@localhost:1521:xe","hr", "ria");
        java.sql.Statement statement = null;
        try {
            statement = conn.createStatement();
        } catch (SQLException ex) {
            Logger.getLogger(PengendaliPendaftaranYudisium.class.getName()).log(Level.SEVERE, null, ex);
        }
        String sqQ = "select * from yudisium";
        ResultSet result = null;
        try {
            result = statement.executeQuery(sqQ);
        } catch (SQLException ex) {
            Logger.getLogger(PengendaliPendaftaranYudisium.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            while (result.next()) {
                Mahasiswa temp = new Mahasiswa();
                temp.setNama(result.getString("nama"));
                temp.setNim(result.getString("nim"));
                temp.setNoHp(result.getString("nomor_hp"));
                temp.setProdi(result.getString("prodi"));
                temp.setBulan(result.getString("bulan_yudisium"));
                temp.setHari(result.getString("hari_yudisium"));
                temp.setTanggal(result.getInt("tanggal_yudisium"));
                temp.setDaftar_nilai(result.getString("daftar_nilai"));
                temp.setNaskah_ta(result.getString("naskah_ta"));
                temp.setBebaspinjam_lab(result.getString("bebaspinjam_lab"));
                temp.setBebaspinjam_dosen(result.getString("bebaspinjam_dosen"));
                temp.setBukti_kp(result.getString("bukti_kp"));
                temp.setToelf_tkbi(result.getString("toelf_tkbi"));
                temp.setKet_kkl(result.getString("ket_kkl"));
                temp.setFile_ket(result.getString("file_ket"));
               temp.setKeterngan(result.getString("keterangan"));
                PengendaliPendaftaranYudisium.DAFTAR_MAHASISWA.add(temp);
            }
        } catch (SQLException ex) {
            Logger.getLogger(PengendaliPendaftaranYudisium.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            conn.close();
        } catch (SQLException ex) {
        }
    }
 public static void tambahTabelMahasiswa(Mahasiswa mhs) {
        Connection conn = OraConnection.open("jdbc:oracle:thin:@localhost:1521:xe", "hr", "ria");
        Statement statement = null;
        try {
            statement = conn.createStatement();
            String sql = "insert into yudisium (nama, nim, nomor_hp, prodi,bulan_yudisium,"
                    + "hari_yudisium, tanggal_yudisium,daftar_nilai,"
                    + "naskah_ta, bebaspinjam_lab, bebaspinjam_dosen,"
                    + "bukti_kp, toelf_tkbi, ket_kkl, "
                    + "file_ket,keterangan) values ('"
                    + mhs.getNama() + "','" + mhs.getNim() + "','"
                    + mhs.getNoHp() + "','" + mhs.getProdi() + "','"
                    + mhs.getBulan() + "','"
                    + mhs.getHari() + "','" + mhs.getTanggal() + "','"
                    + mhs.getDaftar_nilai() + "','"
                    + mhs.getNaskah_ta() + "','"
                    + mhs.getBebaspinjam_lab() + "','"
                    + mhs.getBebaspinjam_dosen() + "','"
                    + mhs.getBukti_kp() + "','" + mhs.getToelf_tkbi() + "','"
                    + mhs.getKet_kkl() + "','"
                       + mhs.getFile_ket()  + "','"
                 + mhs.getKeterngan()
                    + "')";
            //System.out.println(sql);
            statement.executeUpdate(sql);
            conn.close();
        } catch (SQLException ex) {
            Logger.getLogger(PengendaliPendaftaranYudisium.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void simpanTabelMahasiswa() {
        if (DAFTAR_MAHASISWA.isEmpty()) {
            JOptionPane.showMessageDialog(null, "Daftar Mahasiswa Kosong");
        } else {
            Connection conn = OraConnection.open("jdbc:oracle:thin:@localhost:1521:xe", "hr", "ria");
            Statement statement = null;
            try {
                statement = conn.createStatement();
            } catch (SQLException ex) {
                Logger.getLogger(PengendaliPendaftaranYudisium.class.getName()).log(Level.SEVERE, null, ex);
            }
            for (int i = 0; i < DAFTAR_MAHASISWA.size(); i++) {
                String sql = "insert into YUDISIUM (nama, nim, nomor_hp,  prodi, periode_bulan,"
                        + "periode_hari, periode_tanggal) values ('"
                        + DAFTAR_MAHASISWA.get(i).getNama() + "','"
                        + DAFTAR_MAHASISWA.get(i).getNim() + "','"
                        + DAFTAR_MAHASISWA.get(i).getNoHp() + "','"
                        + DAFTAR_MAHASISWA.get(i).getProdi() + "','"
                        + DAFTAR_MAHASISWA.get(i).getBulan() + "','"
                        + DAFTAR_MAHASISWA.get(i).getHari() + "','"
                        + DAFTAR_MAHASISWA.get(i).getTanggal() + "')";
                try {
                    statement.executeUpdate(sql);
                } catch (SQLException ex) {
                    Logger.getLogger(PengendaliPendaftaranYudisium.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            try {
                conn.close();
            } catch (SQLException ex) {
                Logger.getLogger(PengendaliPendaftaranYudisium.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
}